With the advent of the Internet and high-speed networking, people prefer to purchase or view products using a network browser. These products may include tangible products, such as toys, clothing, electronic devices, jewelry, and other tangible products, as well as intangible products, such as insurance policies, cable television service subscriptions, magazine subscriptions, medical prescriptions, and other intangible products.
While viewing a tangible or intangible product, and before completing the purchase of the tangible or intangible product, a person generally prefers to tailor the tangible or intangible product to the person's needs and/or preferences. For example, a shopper may be using his or her network browser to view a bicycle being offered by an online merchant. The bicycle may have many attributes, such as color, height, male or female versions, available tires, construction materials, or other attributes. Using a network browser, the shopper may configure the bicycle according to these attributes. As another example, a shopper may be using his or her network browser to view a cable television service subscription for a cable television provider. The cable television service subscription may also have numerous attributes, such as available channels, different subscription tiers, renewal policies, or other attributes. A shopper may alter or change these attributes to view a cable television service subscription according to the shopper's preferences.
To offer a variety of products with configurable or selectable attributes, an online merchant ordinarily maintains a database of attributes and products on the merchant side of the transaction. However, as the number of offered products and selectable attributes increases, the amount of effort needed on the merchant side to process a request from a shopper to view configurable products also increases, sometimes exponentially. As the effort required on the merchant side increases, the amount of time spent by the shopper waiting to view a configured product also increases. Hence, current product configuration systems are insufficient for complex configurable products because of their inability to scale with increases to inventory or changes in the number of attributes for configuring a product, and in the necessity for the configuration processing to be done primarily on the merchant side of the transaction.